package chapter1;

import java.util.*;

/**
 * 加强型for循环的条件必须是数组或者Iterable类型，生命的myset并不是Iterable类型，因此编译错误
 * 导入Iterable类，实现接口内的抽象方法iterator
 * @param <E>
 */
public class MySet<E> implements Iterable<E> {
    private Set<E> ids = new HashSet<E>();

    public void addId(E id){
        ids.add(id);
    }

    public boolean removeId(E id){
        return ids.remove(id);
    }

    public static void main(String[] args) {
        MySet<String> set = new MySet<String>();
        set.addId("9011");
        set.addId("9012");
        set.addId("9013");
        for(String id : set){
            System.out.println(id);
        }
    }

    @Override
    public Iterator<E> iterator() {
        return ids.iterator();
    }
}
